package com.micolor.logr.runtime.entity;

import com.micolor.logr.runtime.annotation.LogRecord;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @author EvanGe
 * @Type LogMessage.java
 * @Desc
 * @date 2024/7/8 14:14
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class LogMessage implements Serializable {

    /**
     * 摘要
     * 如:用户信息操作
     */
    private String summary;

    /**
     * 描述
     * 如:新增用户信息
     */
    private String description;

    /**
     * 时间
     * 根据设置的值进行转换
     */
    private String time;

    /**
     * 详细信息
     */
    private String detail;

    /**
     * 操作人
     */
    private String operator;

    /**
     * 操作类型
     */
    private String type;

    @Override
    public String toString(){
        String messageTemplate = "摘要:%s操作,描述:%s,操作人:%s,时间:%s,详细信息:%s 。";
        return String.format(messageTemplate,summary,description,operator,time,detail);
    }

    public String toSimpleString(){
        String messageTemplate = "摘要:%s操作,描述:%s,操作人:%s,时间:%s 。";
        return String.format(messageTemplate,summary,description,operator,time);
    }

}
